package cn.clx.ymcc.web.controller;

import cn.clx.ymcc.domain.PayOrder;
import cn.clx.ymcc.dto.AlipayNotifyDto;
import cn.clx.ymcc.dto.PayParametersDto;
import cn.clx.ymcc.result.JSONResult;
import cn.clx.ymcc.service.IPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/pay")
public class PayController {

    @Autowired
    private IPayService payService;

    /**
     * 访问支付宝进行支付，返回一个支付的页面
     * @param dto
     * @return
     */
    @PostMapping("/apply")
    public JSONResult apply(@RequestBody PayParametersDto dto){
        String payString =payService.apply(dto);
        return JSONResult.success(payString);
    }


    /**
     * 支付成功，支付宝的一个回调接口
     * 返回的一个字符串，seccess 表示我们平台收到了支付宝的最大努力通知
     * 其他只要返回的不是 seccess 都表示我没有收到，或者说：收到的数据有问题（你发错了）
     */
    @RequestMapping("/alipay/notify")
    public String apply(AlipayNotifyDto dto){
        try {
            String success = payService.asynNotify(dto);
            return success;
        } catch (Exception e) {
            e.printStackTrace();
            return "Fail";
        }
    }
}
